/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package nexus.criterios;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
import javax.faces.event.ActionEvent;
import javax.swing.JOptionPane;


/**
 *
 * @author Rodrigo
 */
public class CriterioCalificacionCualitativo extends CriterioCalificacion{
    private boolean mostrar;
    private ArrayList<ItemCualitatitvo> itemCualitativos;
    private HashMap<String,Double> valores;
    
    public CriterioCalificacionCualitativo(String nombreCriterio){
        super(nombreCriterio);
        valores = new HashMap<String,Double>();
    }
    
    public void addValor(String k,double m){
        valores.put(k, m);
    }
    
    public HashMap<String,Double> getValores() {
        return valores;
    }

    public void setValores(HashMap<String,Double> valores) {
        this.valores = valores;
    }

    /**
     * @return the mostrar
     */
    public boolean isMostrar() {
        //JOptionPane.showMessageDialog(null, "el mostrar es "+mostrar);
        return mostrar;
    }

    /**
     * @param mostrar the mostrar to set
     */
    public void setMostrar(boolean mostrar) {
        this.mostrar = mostrar;
    }

    /**
     * @return the itemCualitativos
     */
    public ArrayList<ItemCualitatitvo> getItemCualitativos() {
        itemCualitativos = new ArrayList<ItemCualitatitvo>();
        Set<String> claves = valores.keySet();
        for (String clave : claves) {
            ItemCualitatitvo itemC = new ItemCualitatitvo(clave, valores.get(clave));
            itemCualitativos.add(itemC);
        }
        return itemCualitativos;
    }

    /**
     * @param itemCualitativos the itemCualitativos to set
     */
    public void setItemCualitativos(ArrayList<ItemCualitatitvo> itemCualitativos) {
        this.itemCualitativos = itemCualitativos;
    }
    public String actionCambiarEstado() {
        JOptionPane.showMessageDialog(null,"entro al cambiar");
        mostrar =!mostrar;
        return "#";
    }
    public void cambiarMostrar(ActionEvent event) {
        mostrar = !mostrar;
    }

    @Override
    public double maximoValor() {
        double maximo=0;
        for(Double d : valores.values()){
            if(d>maximo)maximo=d;
        }
        return maximo;
    }

    @Override
    public double minimoValor() {
        double minimo=0;
        for(Double d : valores.values()){
            if(d<minimo)minimo=d;
        }
        return minimo;
    }
}
